آرشیو کردن به معنای جمعآوری چندین فایل و دایرکتوری در یک فایل واحد است. این کار برای پشتیبانگیری (Backup)، انتقال فایلها و مدیریت بهتر دادهها بسیار مفید است. در لینوکس، سه ابزار اصلی برای آرشیو کردن وجود دارد: tar، cpio و dd.
tar (Tape Archive) → محبوبترین و پرکاربردترین ابزارcpio (Copy In/Out) → قدیمی و قدرتمندdd → کپی سطح پایین (مخصوص دیسکها و پارتیشنها)cpio (Copy In/Out)
cpio یکی از قدیمیترین ابزارهای آرشیو در لینوکس است که معمولاً برای پشتیبانگیری و انتقال فایلها در محیطهای قدیمی استفاده میشود. این ابزار فایلها را از ورودی استاندارد (STDIN) میخواند و آرشیو را در خروجی استاندارد (STDOUT) ایجاد میکند.
توضیح: ls ys? | cpio -ov > yasin.cpio
ls ys? → لیست فایلهایی که با ys شروع میشوند و یک کاراکتر دارند.| → Pipe (خروجی ls را به cpio میدهد).cpio -ov → -o (create archive) و -v (verbose).> yasin.cpio → خروجی را در فایل yasin.cpio ذخیره کن.
توضیح: cpio -itv < yasin.cpio
-i → extract (خواندن آرشیو)-t → table (نمایش لیست فایلها)-v → verbose (جزئیات)
توضیح: cpio -iv < yasin.cpio
-i → extract (باز کردن)-v → verbose (نمایش نام فایلها)cpio:
-o → ایجاد آرشیو (Create)-i → باز کردن آرشیو (Extract)-t → نمایش لیست فایلها (Table)-v → نمایش جزئیات (Verbose)-d → ایجاد دایرکتوریهای مورد نیاز-u → بازنویسی فایلهای قدیمیtar (Tape Archive)
tar محبوبترین و پرکاربردترین ابزار آرشیو در لینوکس است. این ابزار میتواند همزمان آرشیو و فشردهسازی انجام دهد. به فایلهای ایجاد شده با tar، tarball گفته میشود.
توضیح: tar -cvf yasin.tar ys?
-c → create (ایجاد آرشیو)-v → verbose (نمایش جزئیات)-f → file (نام فایل آرشیو)ys? → فایلهایی که با ys شروع میشوند و یک کاراکتر دارند.
توضیح: tar -Jcvf yasin.tar.xz ys?
-J → فشردهسازی با xz-c → create-v → verbose-f → file
نکته: حجم فایل yasin.tar.xz از yasin.tar بسیار کمتر است!
توضیح: tar -xvf yasin.tar
-x → extract (باز کردن)-v → verbose-f → filetar:
-c → ایجاد آرشیو (Create)-x → باز کردن آرشیو (Extract)-t → نمایش محتوای آرشیو (Table)-v → نمایش جزئیات (Verbose)-f → نام فایل آرشیو (File)-z → فشردهسازی با gzip (پسوند .tar.gz)-j → فشردهسازی با bzip2 (پسوند .tar.bz2)-J → فشردهسازی با xz (پسوند .tar.xz)dd
dd یک ابزار سطح پایین است که برای کپی کردن بایتبهبایت فایلها، پارتیشنها و دیسکها استفاده میشود. این ابزار بیشتر برای پشتیبانگیری از دیسک و ایجاد فایلهای تصویری کاربرد دارد.
dd:
if=/dev/sda → ورودی (Input File) = دیسک sdaof=backup.img → خروجی (Output File) = فایل تصویریbs=4M → Block Size = ۴ مگابایت (سرعت کپی)کاربرد: پشتیبانگیری کامل از یک دیسک یا ایجاد فایلهای تصویری برای ماشینهای مجازی.
| ویژگی | tar |
cpio |
dd |
|---|---|---|---|
| کاربرد اصلی | آرشیو فایلها | آرشیو فایلها | کپی سطح پایین |
| فشردهسازی همزمان | ✅ بله (-z, -j, -J) |
❌ خیر | ❌ خیر |
| حفظ مجوزها | ✅ بله | ✅ بله | ✅ بله (کپی بایت) |
| مناسب برای | کاربرد روزمره | سیستمهای قدیمی | دیسک و پارتیشن |
| محبوبیت | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
fallocate بسازید.tar -cvf یک آرشیو از آنها ایجاد کنید.tar -Jcvf یک آرشیو فشرده با xz ایجاد کنید.tar -xvf آرشیو را باز کنید.cpio نیز یک آرشیو ایجاد کرده و باز کنید.